package com.cskaoyan.javase.recursion._2depth;

/**
 * (仅供娱乐) 测试递归的深度
 * @since 11:26
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo {

    public static void main(String[] args) {
        sum(0);
    }

    public static int sum(int a) {
        int a1 = 10;
        int a2 = 10;
        int a3 = 10;
        int a4 = 10;
        int a6 = 10;
        int a5 = 10;
        int a7 = 10;
        int a8 = 10;
        try {
            /*
                try代码块放能够通过编译但是可能产生异常的正常代码逻辑
             */
            return a + sum(a - 1);
        } catch (StackOverflowError error) {
            /*
                catch代码块配合try代码块使用
                一旦try代码块中的代码产生异常,而catch代码块小括号中的异常恰好能够匹配
                那么这个try代码块中产生的异常就不会被抛出
                而是被catch代码块"捕获"
                然后执行catch代码块中的代码
                    并且不会导致程序报错终止
             */
            System.out.println("sum方法" + a + "层");
        }
        return 0;
    }
}
